package top.byfree.jbyan.saber.bean.pojo

import org.ktorm.entity.Entity
import top.byfree.jbyan.saber.bean.vo.PermVo
import java.time.LocalDateTime

/**
 * 权限表
 *
 * @author jbyan
 * @since 20/3/2024
 */
interface Perm : Entity<Perm> {

    companion object : Entity.Factory<Perm>()

    /* 权限Id */
    var permId: String

    /* 权限标识 */
    var permKey: String

    /* 权限名称 */
    var permName: String

    /* 权限状态 */
    var status: Int

    /* 删除标识 */
    var isDelete: Int

    /* 创建日期 */
    var gmtCreate: LocalDateTime

    /* 修改日期 */
    var gmtModify: LocalDateTime

    /* 创建人 */
    var createBy: String

    /* 修改人 */
    var modifyBy: String

    fun toVo() = PermVo(
        permId, permKey, permName, status, gmtCreate, gmtModify, createBy, modifyBy
    )

}